package com.qianli.cashmama.trade.client.bill;

import com.fqgj.common.api.Response;
import com.qianli.cashmama.trade.client.bill.request.BillPayRequest;
import com.qianli.cashmama.trade.client.bill.request.DeductOverdueFeeRequest;
import com.qianli.cashmama.trade.client.bill.request.SelfLoanConfirmationRequest;
import com.qianli.cashmama.trade.client.bill.response.ApproveConclusionResponse;
import com.qianli.cashmama.trade.client.bill.response.BillRepaymentResponse;
import com.qianli.cashmama.trade.client.bill.response.OrderStatusResponse;
import com.qianli.cashmama.trade.client.bill.response.RepaymentPlanDetailResponse;

/**
 * Created with IntelliJ IDEA.
 * User: sm
 * Date: 2017/7/20
 * Time: 上午9:04
 * <p>
 * 账单基础服务门面
 */
public interface BillApplicationService {

    /**
     * 根据账单还款
     */
    @Deprecated
    Response repaymentCallBack(BillPayRequest billPayRequest);

    /**
     * @param billPayRequest
     * @return
     */

    Response<BillRepaymentResponse> repaymentCallBackV2(BillPayRequest billPayRequest);

    /**
     * 账单抵扣利息和罚息
     *
     * @param deductOverdueFeeRequest
     * @return
     */
    Response deductOverdueFee(DeductOverdueFeeRequest deductOverdueFeeRequest);

    /**
     * 获取订单状态
     *
     * @param orderNo
     * @return
     */
    Response<OrderStatusResponse> orderStatus(String orderNo);


    /**
     * 获取还款计划
     *
     * @param orderNo
     * @return
     */
    Response<RepaymentPlanDetailResponse> getPaymentPlan(String orderNo);


    /**
     * 获取审批结果
     *
     * @param orderNo
     * @return
     */
    Response<ApproveConclusionResponse> approveConclusion(String orderNo);


    /**
     * 创建open api order
     * @param confirmationRequest
     * @return
     */
    @Deprecated
    Response createOpenApiOrder(SelfLoanConfirmationRequest confirmationRequest);
}
